package com.itheima;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.itheima.bean.AddressBook;

import java.util.List;

public interface AddressBookService {

    /**
     * 添加
     * @param addressBook
     */
    void save(AddressBook addressBook);

    /**
     * 把所有的地址先设置成普通的地址，重置地址没有设是默认的地址
     * @param wrapper
     */
    void update(LambdaUpdateWrapper<AddressBook> wrapper);

    /**
     * 更新某一个用户的地址为默认地址
     * @param addressBook
     */
    void updateById(AddressBook addressBook);

    /**
     * 根据id查询地址
     * @param id
     * @return
     */
    AddressBook getById(Long id);

    /**
     * 查询默认地址
     * @param queryWrapper
     * @return
     */
    AddressBook getOne(LambdaQueryWrapper<AddressBook> queryWrapper);

    /**
     * 查询指定用户的全部地址
     * @param queryWrapper
     * @return
     */
    List<AddressBook> list(LambdaQueryWrapper<AddressBook> queryWrapper);

    int update2(AddressBook addressBook);

    int delect(Long id);
}
